package com.huanletao.spring.data;

import com.huanletao.crypto.SM2Utils;
import org.apache.commons.collections.CollectionUtils;

import java.math.BigDecimal;
import java.security.KeyPair;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

/**
 * <p>
 *
 * </p>
 *
 * @package: com.huanletao.spring.data
 * @Description:
 * @className: demo
 * @author: @NNCSKJ ADMIN
 * @copyright: Copyright (c) 2022/7/18 13:24
 * @version: V1.0
 */
public class demo {

    public static void main(String[] args) throws ParseException {

        KeyPair ecKeyPair = SM2Utils.createECKeyPair();

        String nihao = SM2Utils.encrypt(ecKeyPair.getPublic().toString(), "nihao");

        System.out.println("nihao = " + nihao);

        String decrypt = SM2Utils.decrypt(ecKeyPair.getPrivate().toString(), nihao);
        System.out.println("decrypt = " + decrypt);


//        BigDecimal a = new BigDecimal(10);
//        BigDecimal b = new BigDecimal(3);
//        BigDecimal divide = a.divide(b, 2, BigDecimal.ROUND_HALF_UP);
//        System.out.println(divide);
//
//        BigDecimal decimal = new BigDecimal("0.45");
//
//        DecimalFormat decimalFormat = new DecimalFormat("#.##%");
//        String format1 = decimalFormat.format(decimal);
//        System.out.println("format1 = " + format1);
//
//        Number parse1 = decimalFormat.parse(format1);
//
//        NumberFormat numberFormat = NumberFormat.getPercentInstance();
//        numberFormat.setMaximumFractionDigits(2);
//        divide.doubleValue();
//        String format = numberFormat.format(decimal);
//        System.out.println(format);
//
//        Number parse = numberFormat.parse(format);
//        BigDecimal bigDecimal = BigDecimal.valueOf(parse.doubleValue());
//        System.out.println("bigDecimal = " + bigDecimal);
//        System.out.println("parse = " + parse);
//
//        DecimalFormat df = new DecimalFormat("#.##");
//
//
//        System.out.println("-------------------------------------------------");
//
//        double d=156.22359646;
//        System.out.println(new DecimalFormat("0").format(d));//被格式化的数值位数够，则取所有整数
//        System.out.println(new DecimalFormat("#").format(d));//被格式化的数值位数够，则取所有整数
//        System.out.println(new DecimalFormat("00000.###").format(d));//被格式化的数值位数不够，则整数位不够的补零
//        System.out.println(new DecimalFormat("#.######\u2030").format(d));//以千分比方式计数并且保留6位小数
//        System.out.println(new DecimalFormat("#.##%").format(d));//以百分比方式计数并且保留2位小数
//        long c=4673568;
//        System.out.println(new DecimalFormat("#.#####E00").format(c));//显示为科学计算法，并保留5为小数且被格式化的数值位数不够，不够的补零
//        System.out.println(new DecimalFormat("00.####E0").format(c));//显示为科学计数法，并保留2位整数，4位小数
//        System.out.println(new DecimalFormat("####,###").format(c));//毎三位用逗号分隔
//        System.out.println(new DecimalFormat("数据分隔后为,##大小").format(c));
//


    }
}
